Goal Solving as Operational Semantics
نویسنده
چکیده
To combine a functional or equational programming style with logic programming, one can use an underlying logic of Horn clauses with equality (as an interpreted predicate symbol) and (typed) terms. From this point of view, the most satisfying operational semantics would search for solutions to equations or predicates. \Narrowing" and many of its variants are complete mechanisms for generating solutions. Such a melded language is more expressive than either paradigm alone: functional dependencies are explicit; \multi-valued" functions can be better expressed as predicates; nested functions can be evaluated without recourse to search (backtracking); (nonconstructor) terms can serve as arguments to predicates; functions can be inverted; nonterminating functions can be programmed in a terminating fashion; goals can be simpli ed in a \don't care" manner; \functional" negation can prune searches. Moreover, the availability of backtracking and existential (\logic") variables provides an alternative to in nite data structures (\streams").
منابع مشابه
A Concurrent Operational Semantics for Constraint Functional Logic Programming
In this paper we describe a sound and complete concurrent operational semantics for constraint functional logic programming languages which allows to model declarative applications in which the interaction between demand-driven narrowing and constraint solving helps to prune the search space, leading to shorter goal derivations. We encode concurrency into the generic CFLP(D) scheme, a uniform f...
متن کاملFormalizing Two Fixed Point Semantics for HH(C)
The scheme HH(C) emerged as a double extension of traditional Logic Programming. On one hand, extending Horn logic to hereditary Harrop formulas (HH ), in order to improve the expressive power; on the other, incorporating constraints, in order to increase the efficiency. The behavior of such extended CLP programs was explained by means of a sequent calculus that, from every program and set of c...
متن کاملMutually Exclusive Rules in LogicWeb
LogicWeb has traditionally lacked devices for expressing mutually exclusive clauses. We address this limitation by adopting choice-conjunctive clauses of the form D0&D1 where D0,D1 are Horn clauses and & is a linear logic connective. Solving a goal G using D0&D1 – pv(D0&D1, G) – has the following operational semantics: choose a successful one between pv(D0, G) and pv(D1, G). In other words, if ...
متن کاملMutually Exclusive Modules in Logic Programming
Logic programming has traditionally lacked devices for expressing mutually exclusive modules. We address this limitation by adopting choice-conjunctive modules of the form D0&D1 where D0, D1 are a conjunction of Horn clauses and & is a linear logic connective. Solving a goal G using D0&D1 – ex(D0&D1, G) – has the following operational semantics: choose a successful one between ex(D0, G) and ex(...
متن کاملImplementing reactive BDI agents with user-given constraints and objectives
CASO is an agent-oriented programming language based on AgentSpeak(L), one of the most influential abstract languages based on the beliefs-desires-intentions (BDI) architecture. For many applications, it is more convenient to let the user provide in real time, a more elaborate specification consisting of constraints and preferences over possible goal states. Then, let the system discover a plan...
متن کاملLinear Logic Proof
The design of linear logic programming languages and theorem provers opens a number of new implementation challenges not present in more traditional logic languages such as Horn clauses (Prolog) and hereditary Harrop formulas (Prolog and Elf). Among these, the problem of eeciently managing the linear context when solving a goal is of crucial importance for the use of these systems in non-trivia...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1995